package Client;

import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;

import Both.Reservation;
import Both.Trajet;
import Both.Transport;
import Both.Ville;
import Serveur.Serveur;

public class Client {
    private Serveur serveur;

    /**
     * Definition du constructeur normal
     * 
     * @param serveur
     */
    public Client(Serveur serveur) {
        this.serveur = serveur;
    }

    /**
     * Faire une demande de reservation aupr�s du serveur
     * 
     * @param traj
     * @param nbpersonne
     * @return
     */
    public Reservation demandeReservation(Trajet traj, int nbpersonne) {
        return new Reservation(traj, nbpersonne);
    }

    /**
     * Faire une demande de recherche aupr�s du serveur.
     * 
     * @param villedep
     * @param villeArr
     * @param dateDep
     * @param dateArr
     * @param traj
     * @param trans
     * @param nbPlace
     * @return
     */
    public DemandeRechercheClient demandeRecherche(Ville villedep,
            Ville villeArr, GregorianCalendar dateDep,
            GregorianCalendar dateArr, Transport trans, int nbPlace) {
        return new DemandeRechercheClient(villedep, villeArr, dateDep, dateArr,
                trans, nbPlace);
    }

    /**
     * Faire une demande de recherche aupr�s du serveur.
     * 
     * @param villedep
     * @param villeArr
     * @param dateDep
     * @param dateArr
     * @param traj
     * @param trans
     * @param nbPlace
     * @return
     */
    public DemandeRechercheClient demandeRecherche(Trajet traj, int nbPlace) {
        return new DemandeRechercheClient(traj, nbPlace);
    }

    public void AfficherListeTrajet(ArrayList<Trajet> ListeTrajet) {
        Iterator<Trajet> it = ListeTrajet.iterator();

        System.out.println("Liste des trajets filtr�s");
        System.out.println("*************************");

        while (it.hasNext()) {
            Trajet current = it.next();
            current.print();
        }

        System.out.println("*************************");
    }
}
